package com.anyou.mall.sho.service;

import java.util.List;

import com.anyou.common.core.domain.ApiResult;
import com.anyou.mall.index.param.CarPartsShopParam;
import com.anyou.mall.index.param.ShopParam;
import com.anyou.mall.index.vo.Card6Vo;
import com.anyou.mall.partner.domain.PartnerLavel;
import com.anyou.mall.sho.domain.CarPartsShop;
import com.anyou.mall.sho.domain.CarPartsShopAudit;
import com.anyou.mall.sho.param.AddPartsShopParam2;
import com.anyou.mall.sho.param.CarPartsShopDetailsParam2;
import com.anyou.mall.sho.param.EditAreaDto;
import com.anyou.mall.sho.param.IsAuthorizeAgentParam2;
import com.anyou.mall.sho.vo.CarPartsShopDetailsVo;
import com.anyou.mall.sho.vo.CarPartsShopListVo;
import com.anyou.mall.sho.vo.SrVo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 汽配商列表Service接口
 *
 * @author gaochaohao
 * @date 2022-03-18
 */
public interface ICarPartsShopService extends IService<CarPartsShop>
{
    /**
     * 查询汽配商列表
     *
     * @param carPartsShopId 汽配商列表主键
     * @return 汽配商列表
     */
    public CarPartsShop selectCarPartsShopByCarPartsShopId(Long carPartsShopId);

    /**
     * 查询汽配商列表列表
     *
     * @param carPartsShop 汽配商列表
     * @return 汽配商列表集合
     */
    public List<CarPartsShopListVo> selectCarPartsShopList(CarPartsShop carPartsShop);

    /**
     * 新增汽配商列表
     *
     * @param carPartsShop 汽配商列表
     * @return 结果
     */
    public int insertCarPartsShop(CarPartsShop carPartsShop);

    /**
     * 修改汽配商列表
     *
     * @param carPartsShop 汽配商列表
     * @return 结果
     */
    public int updateCarPartsShop(AddPartsShopParam2 carPartsShop);

    /**
     * 批量删除汽配商列表
     *
     * @param carPartsShopIds 需要删除的汽配商列表主键集合
     * @return 结果
     */
    public int deleteCarPartsShopByCarPartsShopIds(Long[] carPartsShopIds);

    /**
     * 删除汽配商列表信息
     *
     * @param carPartsShopId 汽配商列表主键
     * @return 结果
     */
    public int deleteCarPartsShopByCarPartsShopId(Long carPartsShopId);

    /**
     * 修改状态
     * @param carPartsShopId
     * @return
     */
    public ApiResult updateEnableStatus(Long carPartsShopId);

    /**
     * 设置首页推荐
     * @param carPartsShopId
     * @return
     */
    public ApiResult updateIsHomeRecommend(Long carPartsShopId);

    /**
     * 获取所有汽配商
     * @return
     */
    List<CarPartsShop> getAllList(CarPartsShop carPartsShop);

    /**
     * 获取汽配商详细信息
     * @param carPartsShopId
     * @return
     */
    CarPartsShop selectCarPartsShopDetailsByCarPartsShopId(Long carPartsShopId);

    /**
     * 商家店铺修改
     * @param carPartsShopAudit
     * @return
     */
    ApiResult shopAdminUpdate(CarPartsShopAudit carPartsShopAudit);

    /**
     * 商家首页6个卡片统计数量
     * @param shopParam
     * @return
     */
    ApiResult<Card6Vo> card6(ShopParam shopParam);

    /**
     * 修改是否是授权店
     * @param isAuthorizeAgentParam2
     * @return
     */
    ApiResult updateAuthorizeAgent(IsAuthorizeAgentParam2 isAuthorizeAgentParam2);
    /**
     * 获取商家总销售额与总销售次数
     * @param userId
     * @return
     */
    SrVo getSrxl(Long userId);

    /**
     * 修改合伙人区域
     * @param param
     */
    void editArea(EditAreaDto param);

    /**
     * 获取会员等级
     * @return
     */
    List<PartnerLavel> getLavelList();

    /**
     * 验证手机验证码
     * @param phone
     * @param code
     */
    void yzCode(String phone, String code);
}
